//package com.aps.demo.engine;
//
//import com.aps.demo.dto.*;
//import org.springframework.stereotype.Service;
//
//import java.util.List;
//
///**
// * @Author nbZhuozh
// * @Date 2025-08-25  14:46
// *
// * 方案推演执行模板
// **/
//@Service
//public interface PlanDeductionTemplate {
//
//
//    default void doCal(SchedulingConfigurationDto schedulingConfigurationDto){
//        validate(schedulingConfigurationDto);
//
//    }
//
//    default void validate(SchedulingConfigurationDto schedulingConfigurationDto){
//        try {
//            validatePlanOrderParameter(schedulingConfigurationDto.getSelectedOrders());
//            validatePlanConstraintParameter(schedulingConfigurationDto.getConstraintItemDto());
//        }catch (Exception e){
//            e.printStackTrace();
//        }
//    }
//
//
//
//    /**
//     * 校验订单数据
//     */
//    default void validatePlanOrderParameter(List<WorkOrderDto> workOrderDtoList){
//        //校验订单数据
//        validateOrder(workOrderDtoList);
//        //扩展校验
//        validator1();
//    }
//
//    /**
//     * 校验约束信息
//     */
//    default void validatePlanConstraintParameter(ConstraintItemDto constraintItemDto){
//        //校验约束基础设定
//        validateBasic(constraintItemDto.getBaseParameters());
//        //校验工作时间配置
//        validateWorkTime(constraintItemDto.getWorkTimeConfiguration());
//        //校验仪器数据
//        validateEquipment(constraintItemDto.getDeviceConfiguration());
//        //扩展校验
//        validator2();
//    }
//
//     void validateOrder(List<WorkOrderDto> workOrderDtoList);
//
//     void validateBasic(BaseParametersConfigDto baseParametersConfigDto);
//
//     void validateWorkTime(List<DayWorkConfigDto> workConfigDtos);
//
//     void validateEquipment(List<DeviceConfigDto> deviceConfigDtos);
//
//     void validator1();
//
//     void validator2();
//
//
//
//
//
//}
